/* 
1. 页面加载的时候
  1.从缓存中获取购物车数据 渲染到页面中
    这些数据  checked=true
2.微信支付
  1.哪些人 哪些账号 可以实现微信支付
    1.企业账号
    2.企业账号的小程序后台中 必须给开发者 添加上白名单
      1.一个appid可以同时绑定多个开发者
      2.这些开发者就可以公用这个appid和它的开发权限
  */
import regeneratorRuntime from '../../lib/runtime/runtime';
Page({
  data:{
    address:'',
    cart:'',
    totalPrice:0,
    totalNum:0
  },
  onShow(){
    // 1.获取缓存中的收货地址信息
    const address=wx.getStorageSync('address');

    // 获取缓存中的购物车数据
    const cart=wx.getStorageSync('cart')||[];
    let checkedCart=cart.filter(e=>e.checked)
    // 计算全选
    // every 数组方法 会遍历 会接受一个回调函数 那么 每一个回调函数都返回true 那么 every方法的返回值为true
    // 只要有一个回调函数返回false 就不再循环  直接返回false
    // 空数组调用every会返回true
    // const allChecked=cart.length?cart.every(v=>v.checked):false 
   this.setData({
     address
   });
    this.setCart(checkedCart)
      
  },
  
  // 设置购物车状态同时  重新计算 底部工具栏的数据 全选 中价格 购买的数量
  setCart(cart){
    let totalPrice = 0;
    let totalNum = 0;
    cart.forEach(v => {
        totalPrice += v.num * v.goods_price;
        totalNum += v.num;
    });
    this.setData({
      cart,
      totalPrice,
      totalNum
    });
  }
})
